home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
gnu
/
bash_114.zip
/
bash-1.14.2
/
cpp-Makefile
< prev
next >
Wrap
Makefile
|
1994-08-12
|
58KB
|
1,545 lines
/* This -*- C -*- file (cpp-Makefile) is run through the C preprocessor
to produce bash-Makefile which is machine specific.
If you have Gcc and/or Bison, you might wish to mention that right
below here.
Since this is to become a Makefile, blank lines which appear outside
of comments may not contain a TAB character.
Copyright (C) 1987,1991 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Bash is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/**/# This Makefile is automagically made from cpp-Makefile. You should
/**/# not be editing this file; edit cpp-Makefile, machines.h, or
/**/# support/mksysdefs instead. Then, assuming the edits were required
/**/# to compile Bash on your system, mail the changes you had to make to
/**/# bash-maintainers@prep.ai.mit.edu. We will do our best to incorporate
/**/# them into the next release.
/**/# Make sure the first target in the makefile is the right one
all: .made
/* **************************************************************** */
/* */
/* Which compiler are you using? */
/* */
/* **************************************************************** */
/* Define HAVE_GCC if you have the GNU C compiler. */
/* #define HAVE_GCC */
#if defined (__GNUC__) && !defined (HAVE_GCC) && !defined (NeXT)
# define HAVE_GCC
#endif
/* Undefine HAVE_FIXED_INCLUDES if you are not using GCC with the fixed
header files. */
#if defined (HAVE_GCC) && !defined (HAVE_FIXED_INCLUDES)
# define HAVE_FIXED_INCLUDES
#endif /* HAVE_GCC && !HAVE_FIXED_INCLUDES */
/* Define HAVE_BISON if you have the GNU replacement for Yacc. */
/**/# We would like you to use Bison instead of Yacc since some
/**/# versions of Yacc cannot handle reentrant parsing. Unfortunately,
/**/# this includes the Yacc currently being shipped with SunOS4.x.
/**/# If you do use Yacc, please make sure that any bugs in parsing
/**/# are not really manifestations of Yacc bugs before you report
/**/# them.
/* #define HAVE_BISON */
/* Include some boilerplate Gnu makefile definitions. */
prefix = /usr/local
/**/#prefix = @prefix@
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
manroot = $(prefix)/man
man1ext = 1
man1dir = $(manroot)/man$(man1ext)
man3ext = 3
man3dir = $(manroot)/man$(man3ext)
mandir = $(man1dir)
manext = $(man1ext)
infodir = $(prefix)/info
srcdir = .
/**/#srcdir = @srcdir@
VPATH = .:$(srcdir)
/**/#incdir = @incdir@
/* If you have purify, and want to use it, uncomment this definition or
run the make as `make -f bash-Makefile bash PURIFY=purify'. */
PURIFY = # purify
/* This includes the appropriate description for the machine that you are
using (we hope). If the compilation doesn't work correctly, then you
will have to edit the file `machines.h' to include a description for the
machine that your Cpp uniquely identifies this as. For example, Sun 4's
are recognized by the Cpp identifier `sparc', Vax is recognized with `vax',
etc. The order of these files is very important. Config.h must come last,
since it is capable of undef'ing various things. */
#define BUILDING_MAKEFILE /* Tell config.h to avoid #including anything. */
#include "sysdefs.h"
#include "machines.h"
#include "config.h"
/* Can't use the Gnu malloc library without saying we want the Gnu malloc. */
#if !defined (USE_GNU_MALLOC)
# undef USE_GNU_MALLOC_LIBRARY
#endif /* !USE_GNU_MALLOC */
.SUFFIXES: .aux
/**/# Here is a rule for making .o files from .c files that does not
/**/# force the type of the machine (like -M_MACHINE) into the flags.
.c.o:
$(RM) $@
$(CC) $(CCFLAGS) $(CPPFLAGS) -c $<
.c.aux:
$(RM) $@
$(CC) $(CCFLAGS) $(CPPFLAGS) -o $@ $<
#if defined (HAVE_BISON)
BISON = bison -y
#else
BISON = yacc
#endif
#if defined (HAVE_GCC)
# if defined (GCC_FLAGS)
GCC_EXTRAS = GCC_FLAGS
# endif /* GCC_FLAGS */
# if !defined (HAVE_FIXED_INCLUDES)
/* This is guaranteed to work, even if you have the fixed includes!
(Unless, of course, you have the fixed include files installed in
/usr/include. Then it will break.) */
CC = gcc -traditional -I/usr/include $(GCC_EXTRAS)
# else /* HAVE_FIXED_INCLUDES */
CC = gcc $(GCC_EXTRAS)
# endif /* HAVE_FIXED_INCLUDES */
#else /* !HAVE_GCC */
CC = CPP_CC
#endif /* !HAVE_GCC */
/**/# If the user has specified a Make shell, then use that.
#if defined (MAKE_SHELL)
SHELL = MAKE_SHELL
#else
SHELL=/bin/sh
#endif /* MAKE_SHELL */
CP = cp
RM = rm -f
AR = ar
INSTALL_PROGRAM = install -c
INSTALL_DATA = install -c -m 644
COMPRESS = gzip
COMPRESS_EXT = .gz
Machine = M_MACHINE
OS = M_OS
/**/# PROFILE_FLAGS is either -pg, to generate profiling info for use
/**/# with gprof, or nothing (the default).
PROFILE_FLAGS=
#if defined (SYSDEP_CFLAGS)
/**/# This system has some peculiar flags that must be passed to the
/**/# the C compiler (or to cpp).
SYSDEP = SYSDEP_CFLAGS
#endif /* SYSDEP_CFLAGS */
#if defined (SYSDEP_LDFLAGS)
/**/# This system has some peculiar flags that must be passed to the
/**/# link editor (ld).
SYSDEP_LD = SYSDEP_LDFLAGS
#endif /* SYSDEP_LDFLAGS */
#if defined (HAVE_SETLINEBUF)
/**/# This system has the setlinebuf () call.
LINEBUF = -DHAVE_SETLINEBUF
#endif
#if defined (HAVE_VFPRINTF)
/**/# This system has the vprintf () and vfprintf () calls.
VPRINTF = -DHAVE_VFPRINTF
#endif /* HAVE_VFPRINTF */
#if defined (USE_VFPRINTF_EMULATION)
VPRINTF = -DHAVE_VFPRINTF
VPRINT_OBJ = vprint.o
#endif /* USE_VFPRINTF_EMULATION */
#if defined (HAVE_SYS_STREAM_H)
/**/# This system has <sys/stream.h>
STREAM = -DHAVE_SYS_STREAM_H
#endif /* HAVE_SYS_STREAM_H */
#if defined (HAVE_SYS_PTEM_H)
/**/# This system has <sys/ptem.h>
PTEM = -DHAVE_SYS_PTEM_H
#endif /* HAVE_SYS_PTEM_H */
#if defined (HAVE_SYS_PTE_H)
/**/# This system has <sys/pte.h>
PTE = -DHAVE_SYS_PTE_H
#endif /* HAVE_SYS_PTE_H */
/**/# This system has <unistd.h>.
#if defined (HAVE_UNISTD_H)
UNISTD = -DHAVE_UNISTD_H
#endif
/**/# This system has <stdlib.h>
#if defined (HAVE_STDLIB_H)
STDLIB = -DHAVE_STDLIB_H
#endif
/**/# This system has <limits.h>
#if defined (HAVE_LIMITS_H)
LIMITSH = -DHAVE_LIMITS_H
#endif
#if defined (HAVE_GETGROUPS)
/**/# This system has multiple groups.
GROUPS = -DHAVE_GETGROUPS
#endif
#if defined (HAVE_RESOURCE)
/**/# This system has <sys/resource.h>
RESOURCE = -DHAVE_RESOURCE
#endif
#if defined (HAVE_SYS_PARAM)
/**/# This system has <sys/param.h>
PARAM = -DHAVE_SYS_PARAM
#endif
#if defined (VOID_SIGHANDLER)
/**/# The signal () call provided by the system returns a pointer to
/**/# a function returning void. The signal handlers themselves are
/**/# thus void functions.
SIGHANDLER = -DVOID_SIGHANDLER
#endif
#if defined (HAVE_STRERROR)
/**/# This system has the strerror () function.
STRERROR = -DHAVE_STRERROR
#endif
#if defined (HAVE_WAIT_H)
/**/# This system has <sys/wait.h>
WAITH = -DHAVE_WAIT_H
#endif
#if defined (HAVE_GETWD)
/**/# This system has the getwd () call.
GETWD = -DHAVE_GETWD
#endif
#if defined (HAVE_DUP2)
/**/# This system has a working version of dup2 ().
DUP2 = -DHAVE_DUP2
#endif /* HAVE_DUP2 */
#if defined (HAVE_DIRENT)
/**/# This system uses struct dirent for reading directories with readdir.
DIRENT = -DHAVE_DIRENT
#endif /* HAVE_DIRENT */
#if defined (HAVE_DIRENT_H)
/**/# This system has /usr/include/dirent.h
DIRENTH = -DHAVE_DIRENT_H
#endif /* HAVE_DIRENT_H */
#if defined (HAVE_STRING_H)
/**/# This system has /usr/include/string.h
STRINGH = -DHAVE_STRING_H
#endif /* HAVE_STRING_H */
#if defined (HAVE_VARARGS_H)
/**/# This system has /usr/include/varargs.h
VARARGSH = -DHAVE_VARARGS_H
#endif /* HAVE_VARARGS_H */
#if defined (HAVE_STRCHR)
/**/# This system has strchr () and strrchr () string functions.
STRCHR = -DHAVE_STRCHR
#endif /* HAVE_STRCHR */
#if defined (HAVE_STRCASECMP)
STRCASE = -DHAVE_STRCASECMP
#endif /* HAVE_STRCASECMP */
#if defined (HAVE_DEV_FD)
/**/# This system has the /dev/fd directory for naming open files.
DEVFD = -DHAVE_DEV_FD
#endif /* HAVE_DEV_FD */
/**/# The GNU coding standards don't recognize the possibility that
/**/# other information besides optimization and debugging might be
/**/# passed to cc. A different name should have been used.
CFLAGS = -O -g
SYSTEM_FLAGS = $(LINEBUF) $(VPRINTF) $(UNISTD) $(STDLIB) $(LIMITSH) \
$(GROUPS) $(RESOURCE) $(PARAM) $(SIGHANDLER) $(SYSDEP) $(WAITH) \
$(GETWD) $(DUP2) $(STRERROR) $(DIRENT) $(DIRENTH) $(STRINGH) \
$(VARARGSH) $(STRCHR) $(STRCASE) $(DEVFD) \
-D$(Machine) -D$(OS)
LDFLAGS = $(NOSHARE) $(SYSDEP_LD) $(EXTRA_LD_PATH) $(PROFILE_FLAGS) $(CFLAGS)
CCFLAGS = $(PROFILE_FLAGS) $(CFLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS) \
$(MALLOC_CFLAGS)
CPPFLAGS= -I. -I$(srcdir) -I$(LIBSRC)
GCC_LINT_FLAGS = -ansi -Wall -Wshadow -Wpointer-arith -Wcast-qual \
-Wwrite-strings -Werror -Wstrict-prototypes \
-Wmissing-prototypes
GCC_LINT_CFLAGS = $(PROFILE_FLAGS) $(CFLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS) \
$(MALLOC_CFLAGS) $(GCC_LINT_FLAGS)
/* It is conceivable that you wish to edit some things beyond this point,
but I guess that it is highly unlikely, and may give you a headache. */
/* **************************************************************** */
/* */
/* How to Build the support libraries. */
/* */
/* **************************************************************** */
/**/# The location of sources for the support libraries.
LIBPATH = ./lib/
LIBSRC = $(srcdir)/$(LIBPATH)
/**/# Preface building with the full path of the current library source.
LIBINC_DECL = topdir=`sh $(srcdir)/support/srcdir $(srcdir)`; export topdir
LIBINC_USAGE = "-I$${topdir} -I$${topdir}/$(LIBPATH) -I$(LIBSRC)"
/* Defines used when building libraries. */
#define LIB_CFLAGS_DECL CFLAGS='$(LIBRARY_CFLAGS) '$(LIBINC_USAGE)
#define LIB_CPPFLAGS_DECL CPPFLAGS='$(CPPFLAGS)'
#define LIB_LDFLAGS_DECL LDFLAGS='$(LDFLAGS)'
#define LIBMAKE_FLAGS LIB_CFLAGS_DECL LIB_CPPFLAGS_DECL LIB_LDFLAGS_DECL \
RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)' RM='$(RM)' \
/* Macro used to build a library. */
#define build_lib_in_dir(directory, target, srcdef, makefile) \
@echo "Building in " directory "..."; \
sh $(SUPPORT_SRC)mkdirs directory ; \
($(LIBINC_DECL); cd directory; \
if [ ! -f Makefile ]; then cp makefile Makefile; fi; \
$(MAKE) target $(MFLAGS) LIBMAKE_FLAGS srcdef)
/* The builtins are somewhat special in that more information is needed
to compile them correctly. */
#define build_builtins(target) \
@sh $(SUPPORT_SRC)mkdirs $(DEFDIR) ; \
($(LIBINC_DECL); cd $(DEFDIR); \
if [ ! -f Makefile ]; then \
cp $(BUILTIN_ABSSRC)/Makefile Makefile; \
fi; \
$(MAKE) $(MFLAGS) target \
srcdir=$(BUILTIN_ABSSRC) CPPFLAGS='$(CPPFLAGS)' \
CFLAGS='$(CCFLAGS) '$(LIBINC_USAGE)' -I. -I$(BUILTIN_ABSSRC)' \
LDFLAGS='$(LDFLAGS)' RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)' \
RM='$(RM)' RL_LIBSRC='$(RL_ABSSRC)' \
DIRECTDEFINE='-D '$(srcdir)/$(DEFDIR))
/**/# Flags used when building libraries.
LIBRARY_CFLAGS = $(PROFILE_FLAGS) $(CFLAGS) $(SIGHANDLER) $(ALLOCA_CFLAGS) \
$(SYSDEP) $(DIRENT) $(DIRENTH) $(STRINGH) $(VARARGSH) \
$(PTEM) $(PTE) $(STREAM) $(STRERROR) $(RESOURCE) \
$(STRCHR) -D$(Machine) -D$(OS) $(UNISTD) $(LIMITSH) \
$(STRCASE) $(STDLIB) -DSHELL
/**/# These are required for sending bug reports.
SYSTEM_NAME = $(Machine)
OS_NAME = $(OS)
/**/# The name of this program.
Program = bash
/**/# The type of machine and OS Bash is being compiled on.
HOSTTYPE_DECL = -DHOSTTYPE='$(SYSTEM_NAME)' -DOSTYPE='$(OS_NAME)'
MAINTAIN_DEFINE = -DMAINTAINER='"bug-bash@prep.ai.mit.edu"'
/**/# The group of configuration flags. These are for shell.c
CFG_FLAGS = -DOS_NAME='$(OS_NAME)' -DProgram=$(Program) \
-DSYSTEM_NAME='$(SYSTEM_NAME)' $(SIGLIST_FLAG) $(MAINTAIN_DEFINE)
/* **************************************************************** */
/* */
/* Support for desired libraries. */
/* This includes Termcap, Glob, Tilde, History, and Readline. */
/* */
/* **************************************************************** */
/* Does this machine's linker need a space after -L? */
#if defined (HAVE_GCC)
# undef SEARCH_LIB_NEEDS_SPACE
#endif /* HAVE_GCC */
#if defined (SEARCH_LIB_NEEDS_SPACE)
/**/# The native compiler for this machines requires a space after '-L'.
SEARCH_LIB = -L $(UNSET_VARIABLE_CREATES_SPACE)
#else
/**/# The compiler being used to build Bash can handle -L/library/path.
SEARCH_LIB = -L
#endif /* !SEARCH_LIB_NEEDS_SPACE */
#if defined (EXTRA_LIB_SEARCH_PATH)
/**/# Additional instructions to the linker telling it how to find libraries.
LOCAL_LD_PATH = EXTRA_LIB_SEARCH_PATH
EXTRA_LD_PATH = $(SEARCH_LIB)$(LOCAL_LD_PATH)
#endif /* EXTRA_LIB_SEARCH_PATH */
/* Right now we assume that you have the full source code to Bash. If
you simply have the library and header files installed, then
undefine HAVE_READLINE_SOURCE. */
#define HAVE_READLINE_SOURCE
#if defined (HAVE_READLINE_SOURCE)
RL_LIBSRC = $(LIBSRC)readline/
RL_LIBDOC = $(RL_LIBSRC)doc/
RL_LIBDIR = $(LIBPATH)readline/
RL_ABSSRC = $${topdir}/$(RL_LIBDIR)
READLINE_LIBRARY = $(RL_LIBDIR)libreadline.a
/**/# The source, object and documentation of the GNU Readline library.
READLINE_SOURCE = $(RL_LIBSRC)rldefs.h $(RL_LIBSRC)rlconf.h \
$(RL_LIBSRC)readline.h \
$(RL_LIBSRC)chardefs.h $(RL_LIBSRC)keymaps.h \
$(RL_LIBSRC)funmap.c $(RL_LIBSRC)emacs_keymap.c \
$(RL_LIBSRC)search.c $(RL_LIBSRC)vi_keymap.c \
$(RL_LIBSRC)keymaps.c $(RL_LIBSRC)parens.c \
$(RL_LIBSRC)vi_mode.c $(RL_LIBSRC)history.c \
$(RL_LIBSRC)readline.c $(RL_LIBSRC)tilde.c \
$(RL_LIBSRC)rltty.c $(RL_LIBSRC)complete.c \
$(RL_LIBSRC)bind.c $(RL_LIBSRC)isearch.c \
$(RL_LIBSRC)display.c $(RL_LIBSRC)signals.c \
$(RL_LIBSRC)posixstat.h $(RL_LIBSRC)tilde.h \
$(RL_LIBSRC)xmalloc.c
READLINE_OBJ = $(RL_LIBDIR)readline.o $(RL_LIBDIR)funmap.o \
$(RL_LIBDIR)parens.o $(RL_LIBDIR)search.o \
$(RL_LIBDIR)keymaps.o $(RL_LIBDIR)history.o \
$(RL_LIBDIR)rltty.o $(RL_LIBDIR)complete.o \
$(RL_LIBDIR)bind.o $(RL_LIBDIR)isearch.o \
$(RL_LIBDIR)display.o $(RL_LIBDIR)signals.o \
$(RL_LIBDIR)tilde.o $(RL_LIBDIR)xmalloc.o
READLINE_DOC = $(RL_LIBDOC)rlman.texinfo $(RL_LIBDOC)rluser.texinfo \
$(RL_LIBDOC)rltech.texinfo
READLINE_DOC_SUPPORT = $(RL_LIBDOC)Makefile $(RL_LIBDOC)readline.dvi \
$(RL_LIBDOC)readline.info
/**/# This has to be written funny to avoid looking like a C comment starter.
READLINE_EXAMPLES = $(RL_LIBSRC)examples/[a-zA-Z]*.[ch] \
$(RL_LIBSRC)examples/Makefile $(RL_LIBSRC)examples/Inputrc
/**/# Support files for GNU Readline.
READLINE_SUPPORT = $(RL_LIBSRC)Makefile $(RL_LIBSRC)ChangeLog \
$(RL_LIBSRC)COPYING $(READLINE_EXAMPLES) \
$(READLINE_DOC_SUPPORT)
#else /* !HAVE_READLINE_SOURCE */
# if defined (READLINE)
READLINE_LIBRARY = -lreadline
# endif /* READLINE */
RL_LIBDIR = $(srcdir)/$(LIBSRC)readline/
#endif /* !HAVE_READLINE_SOURCE */
/* Right now we assume that you have the full source code to Bash,
including the source code to the history library. If you only have
the library and header files installed, then you can undefine
HAVE_HISTORY_SOURCE. */
#define HAVE_HISTORY_SOURCE
#if defined (READLINE) && !defined (HISTORY)
# define HISTORY
#endif /* READLINE && !HISTORY */
# if defined (HISTORY) && !defined (READLINE)
/**/# You are compiling with history features but without line editing.
HISTORY_LIB = -lhistory
# endif /* HISTORY && !READLINE */
#if defined (HISTORY)
HIST_SUPPORT_SRC = bashhist.c
HIST_SUPPORT_OBJ = bashhist.o
#endif /* HISTORY */
#if defined (HAVE_HISTORY_SOURCE)
HIST_LIBSRC = $(LIBSRC)readline/
HIST_LIBDOC = $(HIST_LIBSRC)doc/
HIST_LIBDIR = $(LIBPATH)readline/
HIST_ABSSRC = $${topdir}/$(HIST_LIBDIR)/
/* If you are building with readline, then you do not explicitly need the
history library. */
# if defined (READLINE)
HISTORY_LIBRARY =
# else
HISTORY_LIBRARY = $(HIST_LIBDIR)libhistory.a
# endif /* !READLINE */
/**/# The source, object and documentation of the history library.
HISTORY_SOURCE = $(HIST_LIBSRC)history.c $(HIST_LIBSRC)history.h
HISTORY_OBJ = $(HIST_LIBDIR)history.o
HISTORY_DOC = $(HIST_LIBDOC)hist.texinfo $(HIST_LIBDOC)hsuser.texinfo \
$(HIST_LIBDOC)hstech.texinfo
/**/# Directory list for -L so that the link editor (ld) can find -lhistory.
# if defined (HISTORY) && !defined (READLINE)
# if !defined (LD_HAS_NO_DASH_L)
HISTORY_LDFLAGS = $(SEARCH_LIB)$(HIST_LIBDIR)
# endif /* LD_HAS_NO_DASH_L */
# endif /* HISTORY && !READLINE */
#else /* !HAVE_HISTORY_SOURCE */
# if defined (HISTORY) && !defined (READLINE)
HISTORY_LIBRARY = -lhistory
HISTORY_LDFLAGS = $(SEARCH_LIB)$(libdir) $(SEARCH_LIB)/usr/local/lib
# endif /* HISTORY && !READLINE */
#endif /* !HAVE_HISTORY_SOURCE */
#if defined (USE_GNU_TERMCAP)
# define HAVE_TERMCAP_SOURCE
TERM_LIBSRC = $(LIBSRC)termcap/
TERM_LIBDIR = $(LIBPATH)termcap/
TERM_ABSSRC = $${topdir}/$(TERM_LIBDIR)
/**/# The source, object and documentation for the GNU Termcap library.
TERMCAP_LIBRARY = $(TERM_LIBDIR)libtermcap.a
TERMCAP_SOURCE = $(TERM_LIBSRC)termcap.c $(TERM_LIBSRC)tparam.c
TERMCAP_OBJ = $(TERM_LIBDIR)termcap.o $(TERM_LIBDIR)tparam.o
TERMCAP_DOC = $(TERM_LIBSRC)termcap.texinfo
TERMCAP_SUPPORT = $(TERM_LIBSRC)Makefile $(TERM_LIBSRC)ChangeLog
# if !defined (LD_HAS_NO_DASH_L)
TERMCAP_LDFLAGS = $(SEARCH_LIB)$(TERM_LIBDIR)
# endif /* !LD_HAS_NO_DASH_L */
#else /* !USE_GNU_TERMCAP */
/* Guessed at symbol for LIBRARIES, below. */
# if defined (USE_TERMCAP_EMULATION)
TERMCAP_LIBRARY = -lcurses
# else /* !USE_TERMCAP_EMULATION */
TERMCAP_LIBRARY = -ltermcap
# endif /* !USE_TERMCAP_EMULATION */
#endif /* !USE_GNU_TERMCAP */
/* The glob library is always used. */
#define USE_GLOB_LIBRARY
#if defined (USE_GLOB_LIBRARY)
GLOB_LIBSRC = $(LIBSRC)glob/
GLOB_LIBDIR = $(LIBPATH)glob/
GLOB_ABSSRC = $${topdir}/$(GLOB_LIBDIR)
GLOB_LIBRARY = $(GLOB_LIBDIR)libglob.a
GLOB_SOURCE = $(GLOB_LIBSRC)glob.c $(GLOB_LIBSRC)fnmatch.c \
$(GLOB_LIBSRC)fnmatch.h
GLOB_OBJ = $(GLOB_LIBDIR)glob.o $(GLOB_LIBDIR)fnmatch.o
GLOB_DOC = $(GLOB_LIBSRC)doc/glob.texi $(GLOB_LIBSRC)doc/Makefile
GLOB_SUPPORT= $(GLOB_LIBSRC)Makefile $(GLOB_LIBSRC)ChangeLog
# if !defined (LD_HAS_NO_DASH_L)
GLOB_LDFLAGS = $(SEARCH_LIB)$(GLOB_LIBDIR)
# endif /* !LD_HAS_NO_DASH_L */
GLOB_LIB = -lglob
#endif /* USE_GLOB_LIBRARY */
/* The source code for the tilde expansion library. */
#if defined (HAVE_READLINE_SOURCE)
# define HAVE_TILDE_SOURCE
#endif /* HAVE_READLINE_SOURCE */
#if defined (HAVE_TILDE_SOURCE)
/**/# The source, object and documentation for the GNU Tilde library.
TILDE_LIBSRC = $(LIBSRC)tilde/
TILDE_LIBDIR = $(LIBPATH)tilde/
TILDE_ABSSRC = $${topdir}/$(TILDE_LIBDIR)
TILDE_LIBRARY = $(TILDE_LIBDIR)libtilde.a
TILDE_SOURCE = $(TILDE_LIBSRC)tilde.c $(TILDE_LIBSRC)tilde.h
TILDE_OBJ = $(TILDE_LIBDIR)tilde.o
TILDE_DOC = $(TILDE_LIBSRC)doc/tilde.texi $(TILDE_LIBSRC)doc/Makefile
TILDE_SUPPORT = $(TILDE_LIBSRC)Makefile $(TILDE_LIBSRC)ChangeLog
TILDE_LIB = -ltilde
# if !defined (LD_HAS_NO_DASH_L)
TILDE_LDFLAGS = $(SEARCH_LIB)$(TILDE_LIBDIR)
# endif /* !LD_HAS_NO_DASH_L */
#else /* !HAVE_TILDE_SOURCE */
/**/# Guessed at location of the tilde
TILDE_LIBRARY = $(libdir)/libtilde.a
#endif /* !HAVE_TILDE_SOURCE */
#if defined (USE_GNU_MALLOC_LIBRARY)
/**/# Our malloc library.
MALLOC_LIBSRC = $(LIBSRC)malloclib/
MALLOC_LIBDIR = $(LIBPATH)malloclib/
MALLOC_ABSSRC = $${topdir}/$(MALLOC_LIBDIR)
MALLOC_LIBRARY = $(MALLOC_LIBDIR)libmalloc.a
MALLOC_SOURCE = $(MALLOC_LIBSRC)calloc.c $(MALLOC_LIBSRC)cfree.c \
$(MALLOC_LIBSRC)free.c $(MALLOC_LIBSRC)malloc.c \
$(MALLOC_LIBSRC)mcheck.c $(MALLOC_LIBSRC)memalign.c \
$(MALLOC_LIBSRC)morecore.c $(MALLOC_LIBSRC)mstats.c \
$(MALLOC_LIBSRC)mtrace.c $(MALLOC_LIBSRC)realloc.c \
$(MALLOC_LIBSRC)valloc.c
MALLOC_OBJ = $(MALLOC_LIBDIR)calloc.c $(MALLOC_LIBDIR)cfree.c \
$(MALLOC_LIBDIR)free.c $(MALLOC_LIBDIR)malloc.c \
$(MALLOC_LIBDIR)mcheck.c $(MALLOC_LIBDIR)memalign.c \
$(MALLOC_LIBDIR)morecore.c $(MALLOC_LIBDIR)mstats.c \
$(MALLOC_LIBDIR)mtrace.c $(MALLOC_LIBDIR)realloc.c \
$(MALLOC_LIBDIR)valloc.c
MALLOC_SUPPORT= $(MALLOC_LIBSRC)Makefile
MALLOC_CFLAGS = -DUSE_GNU_MALLOC_LIBRARY
# if !defined (LD_HAS_NO_DASH_L)
MALLOC_LDFLAGS = $(SEARCH_LIB)$(MALLOC_LIBDIR)
# endif /* !LD_HAS_NO_DASH_L */
MALLOC_LIB = -lmalloc
MALLOC_DEP = $(MALLOC_LIBRARY)
#else
MALLOC_LIBRARY =
#endif /* USE_GNU_MALLOC_LIBRARY */
BASHPOSIX_LIB = $(LIBSRC)posixheaders/
BASHPOSIX_SUPPORT = $(BASHPOSIX_LIB)posixstat.h $(BASHPOSIX_LIB)ansi_stdlib.h \
$(BASHPOSIX_LIB)memalloc.h $(BASHPOSIX_LIB)stdc.h
/**/# Declare all of the sources for the libraries that we have.
LIBRARY_SOURCE = $(READLINE_SOURCE) $(HISTORY_SOURCE) $(TERMCAP_SOURCE) \
$(GLOB_SOURCE) $(TILDE_SOURCE) $(MALLOC_SOURCE)
LIBRARY_DOC = $(READLINE_DOC) $(HISTORY_DOC) $(TERMCAP_DOC) $(GLOB_DOC) \
$(TILDE_DOC) $(MALLOC_DOC)
LIBRARY_SUPPORT = $(READLINE_SUPPORT) $(HISTORY_SUPPORT) $(TERMCAP_SUPPORT) \
$(GLOB_SUPPORT) $(TILDE_SUPPORT) $(MALLOC_SUPPORT)
LIBRARY_TAR = $(LIBRARY_SOURCE) $(LIBRARY_DOC) $(LIBRARY_SUPPORT)
#if defined (READLINE)
/**/# You wish to compile with the line editing features installed.
READLINE_LIB = -lreadline
/**/# You only need termcap (or curses) if you are linking with GNU Readline.
# if defined (USE_TERMCAP_EMULATION)
TERMCAP_LIB = -lcurses
# else /* !USE_TERMCAP_EMULATION */
TERMCAP_LIB = -ltermcap
# endif /* !USE_TERMCAP_EMULATION */
/**/# Directory list for -L so that the link editor (ld) can find -lreadline.
# if !defined (LD_HAS_NO_DASH_L)
# if defined (HAVE_READLINE_SOURCE)
READLINE_LDFLAGS = $(SEARCH_LIB)$(RL_LIBDIR) $(TERMCAP_LDFLAGS)
# else
READLINE_LDFLAGS = $(TERMCAP_LDFLAGS) $(SEARCH_LIB)$(libdir) \
$(SEARCH_LIB)/usr/local/lib
# endif /* HAVE_READLINE_SOURCE */
# endif /* LD_HAS_NO_DASH_L */
/**/# The source and object of the bash<->readline interface code.
RL_SUPPORT_SRC = bashline.c bracecomp.c
RL_SUPPORT_OBJ = bashline.o $(BRACECOMP_OBJECT)
#endif /* READLINE */
/**/# The order is important. Most dependent first.
#if defined (LD_HAS_NO_DASH_L)
/**/# This linker does not know how to grok the -l flag, or perhaps how
/**/# to grok the -L flag, or both.
LIBRARIES = $(READLINE_LIBRARY) $(HISTORY_LIBRARY) $(TERMCAP_LIBRARY) \
$(GLOB_LIBRARY) $(TILDE_LIBRARY) $(MALLOC_LIBRARY) $(LOCAL_LIBS)
#else /* !LD_HAS_NO_DASH_L */
LIBRARIES = $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \
$(TILDE_LIB) $(MALLOC_LIB) $(LOCAL_LIBS)
#endif /* !LD_HAS_NO_DASH_L */
#if defined (READLINE)
# if defined (HAVE_TERMCAP_SOURCE)
TERMCAP_DEP = $(TERMCAP_LIBRARY)
# endif /* HAVE_TERMCAP_SOURCE */
# if defined (HAVE_READLINE_SOURCE)
READLINE_DEP = $(READLINE_LIBRARY)
# endif /* HAVE_READLINE_SOURCE */
#endif /* READLINE */
#if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) && !defined (READLINE)
HISTORY_DEP = $(HISTORY_LIBRARY)
#endif
#if defined (USE_GLOB_LIBRARY)
GLOB_DEP = $(GLOB_LIBRARY)
#else
GLOBC = glob.c fnmatch.c
GLOBO = glob.o fnmatch.o
#endif /* USE_GLOB_LIBRARY */
#if defined (HAVE_TILDE_SOURCE)
TILDE_DEP = $(TILDE_LIBRARY)
#endif
/**/# Source files for libraries that Bash depends on.
LIBDEP = $(READLINE_DEP) $(TERMCAP_DEP) $(GLOB_DEP) $(HISTORY_DEP) $(TILDE_DEP) $(MALLOC_DEP)
/**/# Rules for cleaning the readline and termcap sources.
#if defined (HAVE_READLINE_SOURCE)
CLEAN_READLINE = (cd $(RL_LIBDIR); $(MAKE) $(MFLAGS) clean)
#else
CLEAN_READLINE = :
#endif /* !HAVE_READLINE_SOURCE */
#if defined (HAVE_HISTORY_SOURCE)
# if !defined (READLINE)
CLEAN_HISTORY = (cd $(HIST_LIBDIR); $(MAKE) $(MFLAGS) clean)
# else
CLEAN_HISTORY = :
# endif /* READLINE */
#endif /* !HAVE_HISTORY_SOURCE */
#if defined (HAVE_TERMCAP_SOURCE)
CLEAN_TERMCAP = (cd $(TERM_LIBDIR); $(MAKE) $(MFLAGS) clean)
#else
CLEAN_TERMCAP = :
#endif /* !HAVE_TERMCAP_SOURCE */
#if defined (USE_GLOB_LIBRARY)
CLEAN_GLOB = (cd $(GLOB_LIBDIR); $(MAKE) $(MFLAGS) clean)
#else
CLEAN_GLOB = :
#endif /* !USE_GLOB_LIBRARY */
#if defined (HAVE_TILDE_SOURCE)
CLEAN_TILDE = (cd $(TILDE_LIBDIR); $(MAKE) $(MFLAGS) clean)
#else
CLEAN_TILDE = :
#endif /* !HAVE_TILDE_SOURCE */
#if defined (USE_GNU_MALLOC_LIBRARY)
CLEAN_MALLOC = (cd $(MALLOC_LIBDIR); $(MAKE) $(MFLAGS) clean)
#else
CLEAN_MALLOC = :
#endif /* !USE_GNU_MALLOC_LIBRARY */
LIBRARY_LDFLAGS = $(READLINE_LDFLAGS) $(HISTORY_LDFLAGS) $(TILDE_LDFLAGS) \
$(GLOB_LDFLAGS) $(MALLOC_LDFLAGS)
/**/# The directory which contains the source for malloc. The name must
/**/# end in a slash, as in "./lib/malloc/".
ALLOC_LIBSRC = $(LIBSRC)malloc/
ALLOC_LIBDIR = $(LIBPATH)malloc/
ALLOC_ABSSRC = $${topdir}/$(ALLOC_LIBDIR)
/**/# Our malloc.
#if defined (USE_GNU_MALLOC) && !defined (USE_GNU_MALLOC_LIBRARY)
MALLOC_OBJ = $(ALLOC_LIBDIR)malloc.o
MALLOC_SRC = $(ALLOC_LIBSRC)malloc.c
MALLOC_DEP = $(MALLOC_SRC) $(ALLOC_LIBSRC)getpagesize.h
MALLOC_FLAGS = -Drcheck -Dbotch=programming_error
MALLOC_LIBRARY =
#endif /* USE_GNU_MALLOC && !USE_GNU_MALLOC_LIBRARY */
/* If this user doesn't have alloca (), then we must try to supply them
with a working one. */
#if !defined (HAVE_ALLOCA)
ALLOCA = $(ALLOC_LIBDIR)alloca.o
# if defined (ALLOCA_ASM)
ALLOCA_SOURCE = ALLOCA_ASM
ALLOCA_OBJECT = ALLOCA_OBJ
# else
ALLOCA_SOURCE = alloca.c
ALLOCA_OBJECT = alloca.o
# endif /* ALLOCA_ASM */
ALLOCA_DEP = $(ALLOC_LIBSRC)$(ALLOCA_SOURCE)
#endif /* !HAVE_ALLOCA */
/* Compilation flags to use in the shell directory and to pass to builds
in subdirectories (readline, termcap) to ensure that alloca is treated
in a consistent fashion. */
#if defined (HAVE_ALLOCA_H)
ALLOCA_H_DEFINE = -DHAVE_ALLOCA_H
#else
ALLOCA_H_DEFINE =
#endif /* HAVE_ALLOCA_H */
#if defined (HAVE_ALLOCA)
ALLOCA_DEFINE = -DHAVE_ALLOCA
#else
ALLOCA_DEFINE =
#endif /* HAVE_ALLOCA */
ALLOCA_CFLAGS = $(ALLOCA_DEFINE) $(ALLOCA_H_DEFINE)
/* Protect the `i386' used in the definition of ALLOC_FILES. */
#if defined (i386)
# undef i386
# define i386_defined
#endif /* i386 */
ALLOC_HEADERS = $(ALLOC_LIBSRC)getpagesize.h
ALLOC_FILES = $(ALLOC_LIBSRC)malloc.c $(ALLOC_LIBSRC)alloca.c \
$(ALLOC_LIBSRC)i386-alloca.s $(ALLOC_LIBSRC)x386-alloca.s \
$(ALLOC_LIBSRC)xmalloc.c
/* Perhaps restore the `i386' define. */
#if defined (i386_defined)
# define i386
# undef i386_defined
#endif /* i386_defined */
#if defined (USE_GNU_MALLOC) && !defined (USE_GNU_MALLOC_LIBRARY)
$(MALLOC_OBJ): $(MALLOC_DEP)
@sh $(SUPPORT_SRC)mkdirs $(ALLOC_LIBDIR)
@$(RM) $@
@($(LIBINC_DECL); cd $(ALLOC_LIBDIR) ; \
if [ ! -f Makefile ]; then cp $(ALLOC_ABSSRC)Makefile Makefile ; fi; \
$(MAKE) $(MFLAGS) \
CFLAGS='$(LIBRARY_CFLAGS) $(MALLOC_FLAGS)' \
CPPFLAGS='$(CPPFLAGS)' MALLOC_SOURCE=$(MALLOC_SRC) \
srcdir=$(ALLOC_ABSSRC) malloc.o )
#endif /* USE_GNU_MALLOC && !USE_GNU_MALLOC_LIBRARY */
#if !defined (HAVE_ALLOCA)
$(ALLOCA): $(ALLOCA_DEP)
@sh $(SUPPORT_SRC)mkdirs $(ALLOC_LIBDIR)
@$(RM) $@
@($(LIBINC_DECL); cd $(ALLOC_LIBDIR) ; \
if [ ! -f Makefile ]; then cp $(ALLOC_ABSSRC)Makefile Makefile ; fi; \
$(MAKE) $(MFLAGS) CC='$(CC)' \
CFLAGS='$(LIBRARY_CFLAGS) $(MALLOC_FLAGS)' \
CPPFLAGS='$(CPPFLAGS)' ALLOCA_SOURCE=$(ALLOCA_SOURCE) \
ALLOCA_OBJECT=$(ALLOCA_OBJECT) \
srcdir=$(ALLOC_ABSSRC) alloca.o )
#endif /* !HAVE_ALLOCA */
/**/# The location of ranlib on your system.
#if defined (RANLIB_LOCATION)
RANLIB = RANLIB_LOCATION
#else
RANLIB = ranlib
#endif /* RANLIB_LOCATION */
/* **************************************************************** */
/* */
/* Support for optional object files */
/* */
/* **************************************************************** */
#if !defined (HAVE_SYS_SIGLIST)
/**/# Since this system does not have sys_siglist, we define SIGLIST
/**/# as siglist.o.
SIGLIST = siglist.o
SIGLIST_FLAG=-DINITIALIZE_SIGLIST
#endif /* HAVE_SYS_SIGLIST */
#if !defined (HAVE_GETCWD)
/**/# Since this system does not have a correctly working getcwd (),
/**/# we define GETCWD as getcwd.o.
GETCWD = getcwd.o
#endif /* !HAVE_GETCWD */
/**/# The source and object of the curly brace expansion and completion code.
BRACES_SOURCE = braces.c
BRACECOMP_SOURCE = bracecomp.c
#if defined (BRACE_EXPANSION)
BRACES_OBJECT = braces.o
# if defined (READLINE)
BRACECOMP_OBJECT = bracecomp.o
# endif /* READLINE */
#endif /* BRACE_EXPANSION */
#if defined (REQUIRED_LIBRARIES)
/**/# Locally required libraries.
LOCAL_LIBS = REQUIRED_LIBRARIES
#endif /* REQUIRED_LIBRARIES */
BUILTINS_LIB = builtins/libbuiltins.a
/**/# The main source code for the Bourne Again SHell.
CSOURCES = shell.c parse.y general.c make_cmd.c print_cmd.c y.tab.c \
dispose_cmd.c execute_cmd.c variables.c $(GLOBC) version.c \
expr.c copy_cmd.c flags.c subst.c hash.c mailcheck.c \
test.c trap.c jobs.c nojobs.c $(ALLOC_FILES) $(BRACES_SOURCE) \
vprint.c input.c bashhist.c \
unwind_prot.c siglist.c getcwd.c $(RL_SUPPORT_SRC) error.c
HSOURCES = shell.h flags.h trap.h hash.h jobs.h builtins.h alias.c y.tab.h \
general.h variables.h config.h $(ALLOC_HEADERS) alias.h maxpath.h \
quit.h machines.h posixstat.h filecntl.h unwind_prot.h parser.h \
command.h input.h error.h bashansi.h dispose_cmd.h make_cmd.h \
subst.h externs.h siglist.h bashhist.h bashtypes.h
SOURCES = $(CSOURCES) $(HSOURCES) $(BUILTIN_DEFS)
/**/# Matching object files.
OBJECTS = shell.o y.tab.o general.o make_cmd.o print_cmd.o $(GLOBO) \
dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o \
expr.o flags.o jobs.o subst.o hash.o mailcheck.o test.o \
trap.o alias.o $(MALLOC_OBJ) $(ALLOCA) $(BRACES_OBJECT) \
unwind_prot.o $(VPRINT_OBJ) input.o $(HIST_SUPPORT_OBJ) \
$(SIGLIST) $(GETCWD) version.o $(RL_SUPPORT_OBJ) $(BUILTINS_LIB)
#if defined (LOAD_BUILTIN)
LOAD_DEF = $(DEFDIR)load.def
LOAD_OBJ = $(DEFDIR)load.o
#endif /* LOAD_BUILTIN */
/**/# Where the source code of the shell builtins resides.
BUILTIN_SRCDIR=$(srcdir)/builtins/
/**/# The trailing slash was left off this definition on purpose
BUILTIN_ABSSRC=$${topdir}/builtins
DEFDIR = builtins/
BUILTIN_DEFS = $(DEFDIR)alias.def $(DEFDIR)bind.def $(DEFDIR)break.def \
$(DEFDIR)builtin.def $(DEFDIR)cd.def $(DEFDIR)colon.def \
$(DEFDIR)command.def $(DEFDIR)declare.def $(LOAD_DEF) \
$(DEFDIR)echo.def $(DEFDIR)enable.def $(DEFDIR)eval.def \
$(DEFDIR)exec.def $(DEFDIR)exit.def $(DEFDIR)fc.def \
$(DEFDIR)fg_bg.def $(DEFDIR)hash.def $(DEFDIR)help.def \
$(DEFDIR)history.def $(DEFDIR)jobs.def $(DEFDIR)kill.def \
$(DEFDIR)let.def $(DEFDIR)read.def $(DEFDIR)return.def \
$(DEFDIR)set.def $(DEFDIR)setattr.def $(DEFDIR)shift.def \
$(DEFDIR)source.def $(DEFDIR)suspend.def $(DEFDIR)test.def \
$(DEFDIR)times.def $(DEFDIR)trap.def $(DEFDIR)type.def \
$(DEFDIR)ulimit.def $(DEFDIR)umask.def $(DEFDIR)wait.def \
$(DEFDIR)getopts.def $(DEFDIR)reserved.def
BUILTIN_C_SRC = $(DEFDIR)mkbuiltins.c $(DEFDIR)common.c \
$(DEFDIR)hashcom.h $(DEFDIR)/bashgetopt.c $(GETOPT_SOURCE)
BUILTIN_C_OBJ = $(GETOPTS_OBJ) $(DEFDIR)common.o $(DEFDIR)bashgetopt.o
BUILTIN_OBJS = $(DEFDIR)alias.o $(DEFDIR)bind.o $(DEFDIR)break.o \
$(DEFDIR)builtin.o $(DEFDIR)cd.o $(DEFDIR)colon.o \
$(DEFDIR)command.o $(DEFDIR)declare.o $(LOAD_OBJ) \
$(DEFDIR)echo.o $(DEFDIR)enable.o $(DEFDIR)eval.o \
$(DEFDIR)exec.o $(DEFDIR)exit.o $(DEFDIR)fc.o \
$(DEFDIR)fg_bg.o $(DEFDIR)hash.o $(DEFDIR)help.o \
$(DEFDIR)history.o $(DEFDIR)jobs.o $(DEFDIR)kill.o \
$(DEFDIR)let.o $(DEFDIR)read.o $(DEFDIR)return.o \
$(DEFDIR)set.o $(DEFDIR)setattr.o $(DEFDIR)shift.o \
$(DEFDIR)source.o $(DEFDIR)suspend.o $(DEFDIR)test.o \
$(DEFDIR)times.o $(DEFDIR)trap.o $(DEFDIR)type.o \
$(DEFDIR)ulimit.o $(DEFDIR)umask.o $(DEFDIR)wait.o \
$(BUILTIN_C_OBJ)
#if defined (GETOPTS_BUILTIN)
GETOPTS_OBJ = $(DEFDIR)getopts.o
#endif
GETOPT_SOURCE = $(DEFDIR)getopt.c $(DEFDIR)getopt.h
PSIZE_SOURCE = $(DEFDIR)psize.sh $(DEFDIR)psize.c
BUILTIN_SUPPORT = $(DEFDIR)Makefile $(DEFDIR)ChangeLog $(PSIZE_SOURCE) \
$(BUILTIN_C_SRC)
/**/# Documentation for the shell.
DOCDIR = $(srcdir)/documentation/
BASH_TEXINFO = $(DOCDIR)*.texi $(DOCDIR)*.tex \
$(DOCDIR)*.dvi $(DOCDIR)Makefile
BASH_MAN = $(DOCDIR)bash.1
BASHDOCS = $(BASH_TEXINFO) $(BASH_MAN) INSTALL README RELEASE
DOCUMENTATION = $(BASHDOCS) $(LIBRARY_DOC)
/**/# Some example files demonstrating use of the shell.
/* This has to be written funny to avoid looking like a comment starter. */
EXAMPLES = examples/[a-zA-Z]*
ENDIAN_SUPPORT = endian.c
#if !defined (HAVE_WAIT_H)
ENDIAN_HEADER = bash_endian.h
#else
ENDIAN_HEADER =
#endif
ENDIAN_OUTPUT = endian.aux $(ENDIAN_HEADER)
SIGNAMES_SUPPORT = signames.c
SIGNAMES_OUTPUT = signames.aux signames.h
SUPPORT_SRC = $(srcdir)/support/
SDIR = ./support/
MKTARFILE = $(SDIR)mktarfile
SCRIPTS_SUPPORT = $(SUPPORT_SRC)mksysdefs $(SUPPORT_SRC)cppmagic \
$(SUPPORT_SRC)cat-s $(MKTARFILE) $(SUPPORT_SRC)mail-shell \
$(SUPPORT_SRC)inform $(SUPPORT_SRC)/fixdist \
$(SUPPORT_SRC)mklinks $(SUPPORT_SRC)PORTING \
$(SUPPORT_SRC)/clone.bash
FAQ = $(SUPPORT_SRC)FAQ
TEST_SUITE = ./test-suite/
TEST_SUITE_SUPPORT = $(TEST_SUITE)[a-zA-Z0-9]* $(SUPPORT_SRC)recho.c
CREATED_SUPPORT = $(ENDIAN_OUTPUT) $(SIGNAMES_OUTPUT) sysdefs.h \
$(SDIR)getcppsyms recho tests/recho
SUPPORT = configure $(ENDIAN_SUPPORT) $(SIGNAMES_SUPPORT) $(SCRIPTS_SUPPORT) \
$(BUILTIN_SUPPORT) COPYING Makefile cpp-Makefile ChangeLog \
.distribution newversion.c $(EXAMPLES) $(SUPPORT_SRC)bash.xbm \
$(FAQ) $(SUPPORT_SRC)getcppsyms.c $(TEST_SUITE_SUPPORT)
/**/# BAGGAGE consists of things that you want to keep with the shell for some
/**/# reason, but do not actually use; old source code, etc.
BAGGAGE =
/**/# Things that the world at large needs.
THINGS_TO_TAR = $(SOURCES) $(LIBRARY_TAR) $(BASHDOCS) $(SUPPORT) $(BAGGAGE)
/**/# Keep GNU Make from exporting the entire environment for small machines.
.NOEXPORT:
.made: $(Program) bashbug
cp .machine .made
$(Program): .build $(OBJECTS) $(LIBDEP) .distribution
$(RM) $@
$(PURIFY) $(CC) $(LDFLAGS) $(LIBRARY_LDFLAGS) -o $(Program) $(OBJECTS) $(LIBRARIES)
ls -l $(Program)
size $(Program)
.build: $(SOURCES) cpp-Makefile newversion.aux
if ./newversion.aux -dir $(srcdir) -build; then mv -f newversion.h version.h; fi
@echo
@echo " ***************************************************"
@echo " * *"
@echo " * Making Bash-`cat $(srcdir)/.distribution`.`cat $(srcdir)/.patchlevel` for a $(Machine) running $(OS)"
@echo " * *"
@echo " ***************************************************"
@echo
@echo "$(Program) last made for a $(Machine) running $(OS)" >.machine
bashbug: $(SUPPORT_SRC)bashbug.sh cpp-Makefile newversion.aux
@sed -e "s:@MACHINE@:$(Machine):" -e "s:@OS@:$(OS):" \
-e "s:@CFLAGS@:$(CCFLAGS):" -e "s:@CC@:$(CC):" \
-e "s:@RELEASE@:`cat $(srcdir)/.distribution`:" \
-e "s:@PATCHLEVEL@:`cat $(srcdir)/.patchlevel`:" \
$(SUPPORT_SRC)bashbug.sh > $@
@chmod a+rx bashbug
version.h: newversion.aux
if ./newversion.aux -dir $(srcdir) -build; then mv -f newversion.h version.h; fi
y.tab.c: parser-built
y.tab.h: parser-built
parser-built: parse.y parser.h command.h stdc.h input.h
$(RM) $@
-if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
@echo expect 66 shift/reduce conflicts
$(BISON) -d $(srcdir)/parse.y
-if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
touch $@
#if defined (READLINE) && defined (HAVE_READLINE_SOURCE)
$(READLINE_LIBRARY): $(READLINE_SOURCE)
build_lib_in_dir ($(RL_LIBDIR), libreadline.a, srcdir=$(RL_ABSSRC), $(RL_ABSSRC)Makefile)
#endif /* READLINE && HAVE_READLINE_SOURCE */
#if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) && !defined (READLINE)
$(HISTORY_LIBRARY): $(HISTORY_SOURCE)
build_lib_in_dir ($(HIST_LIBDIR), libhistory.a, srcdir=$(HIST_ABSSRC), $(HIST_ABSSRC)Makefile)
#endif /* HISTORY && HAVE_HISTORY_SOURCE && !READLINE */
#if defined (HAVE_TERMCAP_SOURCE)
$(TERMCAP_LIBRARY): $(TERMCAP_SOURCE)
build_lib_in_dir ($(TERM_LIBDIR), libtermcap.a, srcdir=$(TERM_ABSSRC), $(TERM_ABSSRC)Makefile)
#endif /* HAVE_TERMCAP_SOURCE */
#if defined (USE_GLOB_LIBRARY)
$(GLOB_LIBRARY): $(GLOB_SOURCE)
build_lib_in_dir ($(GLOB_LIBDIR), libglob.a, srcdir=$(GLOB_ABSSRC), $(GLOB_ABSSRC)Makefile)
#endif /* USE_GLOB_LIBRARY */
#if defined (HAVE_TILDE_SOURCE)
$(TILDE_LIBRARY): $(TILDE_SOURCE)
build_lib_in_dir ($(TILDE_LIBDIR), libtilde.a, srcdir=$(TILDE_ABSSRC), $(TILDE_ABSSRC)Makefile)
#endif /* HAVE_TILDE_SOURCE */
#if defined (USE_GNU_MALLOC) && defined (USE_GNU_MALLOC_LIBRARY)
$(MALLOC_LIBRARY): $(MALLOC_SOURCE)
build_lib_in_dir ($(MALLOC_LIBDIR), libmalloc.a, srcdir=$(MALLOC_ABSSRC), $(MALLOC_ABSSRC)Makefile)
#endif /* USE_GNU_MALLOC && USE_GNU_MALLOC_LIBRARY */
version.o: version.c version.h
shell.o: shell.c shell.h flags.h shell.c posixstat.h filecntl.h stdc.h \
$(ENDIAN_HEADER) parser.h
$(RM) $@
$(CC) $(CFG_FLAGS) $(CCFLAGS) $(CPPFLAGS) -c $<
#if !defined (HAVE_WAIT_H)
$(ENDIAN_HEADER): endian.aux
$(RM) $@
./endian.aux $@
#endif
signames.h: signames.aux
$(RM) $@
./signames.aux $@
variables.o: variables.c shell.h hash.h flags.h variables.h
$(RM) $@
$(CC) -c $(CCFLAGS) $(HOSTTYPE_DECL) $(CPPFLAGS) $<
builtins/libbuiltins.a: $(BUILTIN_OBJS) config.h memalloc.h
build_builtins (libbuiltins.a)
#if 0
/* This is a nice idea, but it does not work right, and the syntax is
not universally available. */
$(BUILTIN_OBJS): $(BUILTIN_DEFS)
build_builtins ($(@F))
#endif
builtins/common.o: $(BUILTIN_SRCDIR)common.c
build_builtins (common.o)
builtins/bashgetopt.o: $(BUILTIN_SRCDIR)bashgetopt.c
build_builtins (bashgetopt.o)
builtins/builtext.h: builtins/libbuiltins.a
/* Dependencies for the main bash source. */
copy_cmd.o: shell.h command.h stdc.h hash.h
copy_cmd.o: general.h variables.h config.h memalloc.h quit.h
copy_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h
dispose_cmd.o: shell.h command.h stdc.h
dispose_cmd.o: general.h variables.h config.h memalloc.h quit.h
dispose_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h
error.o: error.h
execute_cmd.o: shell.h command.h stdc.h y.tab.h posixstat.h flags.h jobs.h
execute_cmd.o: general.h variables.h config.h memalloc.h quit.h hash.h
execute_cmd.o: unwind_prot.h siglist.h builtins/builtext.h
execute_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h bashtypes.h
expr.o: shell.h command.h stdc.h hash.h
expr.o: general.h variables.h config.h memalloc.h quit.h
expr.o: dispose_cmd.h make_cmd.h subst.h externs.h
flags.o: flags.h stdc.h config.h memalloc.h general.h quit.h
general.o: shell.h command.h stdc.h maxpath.h
general.o: general.h variables.h config.h memalloc.h quit.h machines.h
general.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
hash.o: shell.h command.h stdc.h hash.h
hash.o: general.h variables.h config.h memalloc.h quit.h
hash.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
jobs.o: shell.h command.h stdc.h hash.h trap.h jobs.h siglist.h
jobs.o: general.h variables.h config.h memalloc.h quit.h
jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h builtins/builtext.h
mailcheck.o: posixstat.h maxpath.h variables.h
mailcheck.o: hash.h quit.h
make_cmd.o: shell.h command.h stdc.h flags.h input.h bashtypes.h
make_cmd.o: general.h variables.h config.h memalloc.h quit.h
make_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h
y.tab.o: shell.h command.h stdc.h flags.h maxpath.h alias.h
y.tab.o: general.h variables.h config.h memalloc.h quit.h
y.tab.o: dispose_cmd.h make_cmd.h subst.h externs.h bashtypes.h
print_cmd.o: shell.h command.h stdc.h y.tab.h
print_cmd.o: general.h variables.h config.h memalloc.h quit.h
print_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h
shell.o: shell.h command.h stdc.h flags.h machines.h
shell.o: general.h variables.h config.h memalloc.h quit.h
shell.o: dispose_cmd.h make_cmd.h subst.h externs.h
shell.o: posixstat.h filecntl.h jobs.h input.h
subst.o: shell.h command.h stdc.h flags.h jobs.h siglist.h bashtypes.h
subst.o: general.h variables.h config.h memalloc.h quit.h
subst.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h
test.o: posixstat.h
trap.o: trap.h shell.h command.h stdc.h hash.h unwind_prot.h signames.h
trap.o: general.h variables.h config.h memalloc.h quit.h
trap.o: dispose_cmd.h make_cmd.h subst.h externs.h
unwind_prot.o: config.h memalloc.h general.h unwind_prot.h
variables.o: shell.h command.h stdc.h hash.h flags.h
variables.o: config.h memalloc.h general.h variables.h quit.h
variables.o: execute_cmd.h dispose_cmd.h make_cmd.h subst.h externs.h
version.o: version.h .build
alias.o: ansi_stdlib.h
bashline.o: ansi_stdlib.h
variables.o: ansi_stdlib.h
shell.o: ansi_stdlib.h
error.o: ansi_stdlib.h
hash.o: ansi_stdlib.h
signames.o: ansi_stdlib.h
expr.o: ansi_stdlib.h
general.o: ansi_stdlib.h
input.o: ansi_stdlib.h
#if !defined (JOB_CONTROL)
jobs.o: nojobs.c
#endif /* !JOB_CONTROL */
#if defined (BRACE_EXPANSION)
braces.o: general.h shell.h variables.h quit.h config.h memalloc.h
braces.o: dispose_cmd.h make_cmd.h subst.h externs.h
braces.o: maxpath.h unwind_prot.h command.h stdc.h
# if defined (READLINE)
bracecomp.o: bracecomp.c
bracecomp.o: shell.h command.h hash.h builtins.h general.h variables.h
bracecomp.o: quit.h alias.h
bracecomp.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
# if defined (HAVE_READLINE_SOURCE)
bracecomp.o: $(RL_LIBSRC)readline.h
# endif /* HAVE_READLINE_SOURCE */
# endif /* READLINE */
#endif /* BRACE_EXPANSION */
#if defined (READLINE)
bashline.o: shell.h command.h stdc.h hash.h builtins.h execute_cmd.h
bashline.o: general.h variables.h config.h memalloc.h quit.h alias.h
bashline.o: dispose_cmd.h make_cmd.h subst.h externs.h
#endif /* READLINE */
/* Dependencies which rely on the user using the source to READLINE. */
#if defined (READLINE) && defined (HAVE_READLINE_SOURCE)
bashline.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h
y.tab.o: $(RL_LIBSRC)keymaps.h $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h
#endif /* READLINE && HAVE_READLINE_SOURCE */
#if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE)
subst.o: $(HIST_LIBSRC)history.h
bashline.o: $(HIST_LIBSRC)history.h
y.tab.o: $(HIST_LIBSRC)history.h
#endif /* HISTORY && HAVE_HISTORY_SOURCE */
#if defined (USE_GLOB_LIBRARY)
subst.o: $(GLOB_LIBSRC)fnmatch.h
execute_cmd.o: $(GLOB_LIBSRC)fnmatch.h
#endif /* USE_GLOB_LIBRARY */
#if defined (HAVE_TILDE_SOURCE)
execute_cmd.o: $(TILDE_LIBSRC)tilde.h
general.o: $(TILDE_LIBSRC)tilde.h
mailcheck.o: $(TILDE_LIBSRC)tilde.h
shell.o: $(TILDE_LIBSRC)tilde.h
subst.o: $(TILDE_LIBSRC)tilde.h
variables.o: $(TILDE_LIBSRC)tilde.h
#endif /* HAVE_TILDE_SOURCE */
/* Dependencies for the shell builtins. */
builtins/common.o: shell.h command.h config.h memalloc.h general.h error.h
builtins/common.o: variables.h input.h $(DEFDIR)hashcom.h siglist.h
builtins/common.o: quit.h unwind_prot.h maxpath.h jobs.h builtins.h
builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h
builtins/common.o: execute_cmd.h stdc.h
builtins/alias.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/alias.o: quit.h builtins/common.h
builtins/alias.o: shell.h command.h stdc.h unwind_prot.h variables.h
builtins/alias.o: dispose_cmd.h make_cmd.h subst.h externs.h
builtins/bind.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/bind.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/bind.o: shell.h unwind_prot.h variables.h quit.h
builtins/bind.o: $(DEFDIR)bashgetopt.h
builtins/break.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/break.o: shell.h unwind_prot.h variables.h quit.h
builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/builtin.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/builtin.o: quit.h $(DEFDIR)common.h
builtins/builtin.o: shell.h unwind_prot.h variables.h
builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/cd.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h
builtins/cd.o: shell.h unwind_prot.h variables.h $(DEFDIR)common.h
builtins/cd.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/command.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/command.o: quit.h $(DEFDIR)bashgetopt.h
builtins/command.o: shell.h unwind_prot.h variables.h
builtins/command.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/declare.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/declare.o: shell.h unwind_prot.h variables.h quit.h
builtins/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/echo.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/echo.o: shell.h unwind_prot.h variables.h quit.h
builtins/echo.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/enable.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/enable.o: shell.h unwind_prot.h variables.h quit.h
builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/eval.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h
builtins/eval.o: shell.h unwind_prot.h variables.h
builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/exec.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h
builtins/exec.o: shell.h unwind_prot.h variables.h $(DEFDIR)common.h stdc.h
builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h
builtins/exec.o: flags.h
builtins/exit.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/exit.o: shell.h unwind_prot.h variables.h quit.h
builtins/exit.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/fc.o: builtins.h command.h stdc.h
builtins/fc.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h
builtins/fc.o: flags.h unwind_prot.h variables.h shell.h
builtins/fc.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/fc.o: $(DEFDIR)bashgetopt.h bashhist.h
builtins/fg_bg.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/fg_bg.o: shell.h unwind_prot.h variables.h quit.h
builtins/fg_bg.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/getopts.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/getopts.o: shell.h unwind_prot.h variables.h quit.h
builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/hash.o: builtins.h command.h execute_cmd.h stdc.h
builtins/hash.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/hash.o: shell.h unwind_prot.h variables.h $(DEFDIR)common.h quit.h
builtins/help.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/help.o: shell.h unwind_prot.h variables.h quit.h
builtins/history.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/history.o: filecntl.h shell.h unwind_prot.h variables.h
builtins/history.o: bashhist.h
builtins/inlib.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/inlib.o: shell.h unwind_prot.h variables.h quit.h
builtins/inlib.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/jobs.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/jobs.o: quit.h $(DEFDIR)bashgetopt.h
builtins/jobs.o: shell.h unwind_prot.h variables.h
builtins/jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/kill.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/kill.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/kill.o: shell.h trap.h unwind_prot.h variables.h
builtins/let.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/let.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/let.o: shell.h unwind_prot.h variables.h
builtins/read.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/read.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/read.o: shell.h unwind_prot.h variables.h
builtins/return.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/return.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/return.o: shell.h unwind_prot.h variables.h
builtins/set.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/set.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h
builtins/set.o: shell.h unwind_prot.h variables.h flags.h stdc.h
builtins/setattr.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/setattr.o: quit.h $(DEFDIR)common.h $(DEFDIR)bashgetopt.h
builtins/setattr.o: shell.h unwind_prot.h variables.h
builtins/setattr.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/shift.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/shift.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/shift.o: shell.h unwind_prot.h variables.h
builtins/shift.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/source.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/source.o: shell.h unwind_prot.h variables.h
builtins/suspend.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/suspend.o: shell.h unwind_prot.h variables.h
builtins/test.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/test.o: shell.h unwind_prot.h variables.h
builtins/times.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/times.o: shell.h unwind_prot.h variables.h
builtins/trap.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/trap.o: quit.h $(DEFDIR)common.h
builtins/trap.o: shell.h unwind_prot.h variables.h
builtins/trap.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/type.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/type.o: quit.h $(DEFDIR)common.h
builtins/type.o: shell.h unwind_prot.h variables.h execute_cmd.h
builtins/type.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/ulimit.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/ulimit.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/ulimit.o: shell.h unwind_prot.h variables.h
builtins/umask.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/umask.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/umask.o: shell.h unwind_prot.h variables.h
builtins/wait.o: command.h config.h memalloc.h error.h general.h maxpath.h
builtins/wait.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h
builtins/wait.o: shell.h unwind_prot.h variables.h
builtins/bashgetopt.o: bashansi.h ansi_stdlib.h
builtins/mkbuiltins.o: bashansi.h ansi_stdlib.h
builtins/fc.o: bashansi.h ansi_stdlib.h
#if defined (READLINE) && defined (HAVE_READLINE_SOURCE)
builtins/bind.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h
#endif /* READLINE && HAVE_READLINE_SOURCE */
#if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE)
builtins/bind.o: $(HIST_LIBSRC)history.h
builtins/fc.o: $(HIST_LIBSRC)history.h
builtins/history.o: $(HIST_LIBSRC)history.h
#endif /* HISTORY && HAVE_HISTORY_SOURCE */
#if defined (HAVE_TILDE_SOURCE)
builtins/common.o: $(TILDE_LIBSRC)tilde.h
builtins/cd.o: $(TILDE_LIBSRC)tilde.h
#endif /* HAVE_TILDE_SOURCE */
builtins/alias.o: builtins/alias.def
builtins/bind.o: builtins/bind.def
builtins/break.o: builtins/break.def
builtins/builtin.o: builtins/builtin.def
builtins/cd.o: builtins/cd.def
builtins/colon.o: builtins/colon.def
builtins/command.o: builtins/command.def
builtins/declare.o: builtins/declare.def
builtins/echo.o: builtins/echo.def
builtins/enable.o: builtins/enable.def
builtins/eval.o: builtins/eval.def
builtins/exec.o: builtins/exec.def
builtins/exit.o: builtins/exit.def
builtins/fc.o: builtins/fc.def
builtins/fg_bg.o: builtins/fg_bg.def
builtins/getopts.o: builtins/getopts.def
builtins/hash.o: builtins/hash.def
builtins/help.o: builtins/help.def
builtins/histctl.o: builtins/histctl.def
builtins/history.o: builtins/history.def
builtins/inlib.o: builtins/inlib.def
builtins/jobs.o: builtins/jobs.def
builtins/kill.o: builtins/kill.def
builtins/let.o: builtins/let.def
builtins/read.o: builtins/read.def
builtins/reserved.o: builtins/reserved.def
builtins/return.o: builtins/return.def
builtins/set.o: builtins/set.def
builtins/setattr.o: builtins/setattr.def
builtins/shift.o: builtins/shift.def
builtins/source.o: builtins/source.def
builtins/suspend.o: builtins/suspend.def
builtins/test.o: builtins/test.def
builtins/times.o: builtins/times.def
builtins/trap.o: builtins/trap.def
builtins/type.o: builtins/type.def
builtins/ulimit.o: builtins/ulimit.def
builtins/umask.o: builtins/umask.def
builtins/wait.o: builtins/wait.def
$(Program).tar: $(THINGS_TO_TAR) .distribution
@$(MKTARFILE) $(Program) `cat .distribution` $(THINGS_TO_TAR)
$(Program).tar$(COMPRESS_EXT): $(Program).tar
$(COMPRESS) < $(Program).tar > $@
clone: $(THINGS_TO_TAR)
@$(MKTARFILE) +notar $(Machine) $(OS) $(THINGS_TO_TAR)
install: .made
-if [ -f $(bindir)/$(Program) ]; \
then mv $(bindir)/$(Program) $(bindir)/$(Program).old; \
fi
$(INSTALL_PROGRAM) $(Program) $(bindir)/$(Program)
-if [ -f $(bindir)/bashbug ]; \
then mv $(bindir)/bashbug $(bindir)/bashbug.old; \
fi
$(INSTALL_PROGRAM) bashbug $(bindir)/bashbug
$(RM) installed-$(Program)
-ln -s $(bindir)/$(Program) installed-$(Program)
( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) mandir=$(mandir) \
man3dir=$(man3dir) infodir=$(infodir) \
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
INSTALL_DATA="${INSTALL_DATA}" $@ )
uninstall: .made
$(RM) $(bindir)/$(Program) installed-$(Program) $(bindir)/bashbug
( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) mandir=$(mandir) man3dir=$(man3dir) infodir=$(infodir) $@ )
.distribution:
./newversion.aux -dir $(srcdir) -dist `$(Program) -c 'echo $$BASH_VERSION'`
distribution: $(Program) $(Program).tar$(COMPRESS_EXT) .distribution
@echo cp $(Program).tar$(COMPRESS_EXT) \
$(Program)-`cat .distribution`.tar$(COMPRESS_EXT)
@cp $(Program).tar$(COMPRESS_EXT) \
$(Program)-`cat .distribution`.tar$(COMPRESS_EXT)
mailable: distribution
/bin/rm -rf uuencoded
mkdir uuencoded
$(SHELL) -c 'f=$(Program)-`cat .distribution`.tar.Z;uuencode $$f $$f | split -800 - uuencoded/$$f.uu.'
newversion.aux: newversion.c
$(CC) $(CCFLAGS) -o $@ $<
newversion: newversion.aux
$(RM) .build
./newversion.aux -dir $(srcdir) -dist
mv -f newversion.h version.h
$(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir)
texindex: force
build_lib_in_dir($(LIBPATH)doc-support, texindex, $${topdir}/lib/doc-support, $${topdir}/lib/doc-support/Makefile)
documentation: force texindex
(cd $(DOCDIR); $(MAKE) $(MFLAGS) CFLAGS='$(CCFLAGS)')
force:
tags: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
etags $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
TAGS: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
ctags -x $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) > $@
clean:
$(RM) $(OBJECTS) $(Program) bashbug ansi-Makefile *.aux
$(RM) .build .made .machine version.h
$(RM) $(CREATED_SUPPORT) bash-Makefile
$(RM) tags TAGS
(cd $(DOCDIR); $(MAKE) $(MFLAGS) clean)
(cd builtins; $(MAKE) $(MFLAGS) clean)
$(CLEAN_READLINE) ;
$(CLEAN_HISTORY) ;
$(CLEAN_TERMCAP) ;
$(CLEAN_GLOB) ;
$(CLEAN_TILDE) ;
$(CLEAN_MALLOC) ;
distclean: clean
$(RM) installed-bash
realclean: clean
$(RM) y.tab.c y.tab.h parser-built installed-bash
recho: $(SUPPORT_SRC)recho.c
@$(CC) -o $@ $(SUPPORT_SRC)recho.c
tests: force $(Program) recho
@cp recho tests
( cd tests ; sh run-all )
/**/# Here is a convenient rule when you arrive at a new site and wish to
/**/# install bash on several different architectures. It creates a new
/**/# directory to hold the results of compilation. The directory is
/**/# named Machine-OS.
architecture: $(Machine)-$(OS)/$(Program)
$(Machine)-$(OS):
-mkdir $(Machine)-$(OS)
$(Machine)-$(OS)/$(Program): $(Machine)-$(OS) $(Program)
mv $(Program) $(Machine)-$(OS)
mv sysdefs.h $(Machine)-$(OS)
mv $(SDIR)getcppsyms $(Machine)-$(OS)
$(MAKE) $(MFLAGS) clean
DEFINES: config.h memalloc.h cpp-Makefile sysdefs.h
echo $(CCFLAGS) $(CPPFLAGS) >DEFINES